package com.xiaoshuidi.cloud.module.member.service.topics;

import com.xiaoshuidi.cloud.framework.common.pojo.PageResult;
import com.xiaoshuidi.cloud.module.member.controller.admin.topics.vo.MemberTopicsPostListVo;
import com.xiaoshuidi.cloud.module.member.controller.admin.topics.vo.TopicsPostDetailVO;
import com.xiaoshuidi.cloud.module.member.controller.admin.topics.vo.TopicsPostPageVO;
import com.xiaoshuidi.cloud.module.member.controller.admin.topics.vo.TopicsPostUpdateStateVO;
import com.xiaoshuidi.cloud.module.member.controller.app.topics.vo.AddLikeVo;
import com.xiaoshuidi.cloud.module.member.controller.app.topics.vo.AppTopicsPostPageVO;
import com.xiaoshuidi.cloud.module.member.controller.app.topics.vo.MemberTopicsPostCreateVO;

import java.util.List;

public interface MemberTopicsPostService {
    /**
     * 用户新增跟帖
     *
     * @param createReqVO
     * @return
     */
    Boolean create(MemberTopicsPostCreateVO createReqVO);

    /**
     * 获得跟帖分页列表
     *
     * @param pageVO
     * @return
     */
    PageResult<MemberTopicsPostListVo> getPage(TopicsPostPageVO pageVO);

    /**
     * 查看跟帖详情
     *
     * @param id
     * @return
     */
    TopicsPostDetailVO getById(Long id);

    /**
     * 跟帖更改状态
     *
     * @param updateStateVO
     * @return
     */
    Boolean updateStatus(TopicsPostUpdateStateVO updateStateVO);

    /**
     * 查询手机跟帖列表1最新2推荐
     *
     * @param pageVO
     * @return
     */
    PageResult<TopicsPostDetailVO> getAppPage(AppTopicsPostPageVO pageVO);

    /**
     * 手机点赞
     *
     * @param vo
     * @return
     */
    Boolean addLike(AddLikeVo vo);

    /**
     * 社区发帖审核导出
     *
     * @param form
     * @return
     */
    List<MemberTopicsPostListVo> exportTopicsPostList(TopicsPostPageVO form);

    void updateUserId(Long oldUserId, Long userId);
}
